#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	int arr[] = { 1,2,(3,4),5 };
//	printf("%d\n", sizeof(arr));
//	return 0;
//
//
//
//
//	return 0;
//}
//int main()
//{
//    char str[] = "hello bit";
//    printf("%d %d\n", sizeof(str), strlen(str));
//    return 0;
//}

//int main()
//{
//	int arr1[4] = {0};
//	int arr2[4] = {0};
//	int i = 0;
//	printf("请输入第一个数组的四个数字");
//	for (i = 0; i < 4; i++)
//	{
//		scanf("%d", &arr1[i]);
//	}
//	printf("请输入第二个数组的四个数字");
//
//	for (i = 0; i < 4; i++)
//	{
//		scanf("%d", &arr2[i]);
//	}
//	for (i = 0; i < 4; i++)
//	{
//		int temp = arr1[i];
//		arr1[i] = arr2[i];
//		arr2[i] = temp;
//	}
//	for (i = 0; i < 4; i++)
//	{
//		printf("%d ", arr1[i]);
//
//	}
//	printf("\n");
//	for (i = 0; i < 4; i++)
//	{
//		printf("%d ", arr2[i]);
//	}
//	
//
//	return 0;
//}
//将数组A中的内容和数组B中的内容进行交换。（数组一样大）
//void init(int *x,int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		
//		*(x+i) = 0; 
//		
//	}
//	
//}
//void print(int* x, int sz)
//{
//	int i = 0;
//	for (i = 0; i < 4; i++)
//	{
//		printf("%d", *(x+i));
//	}
//}
//void reverse(int* x, int sz)
//{
//	int left = 0;
//	int right = sz-1;
//	while (left < right)
//	{
//		int temp = *(x+left);
//		*(x + left) =*(x + right);
//		*(x + right) = temp;
//		left++;
//		right--;
//
//	}
//
//
//}
//int main()
//{
//	int arr[4] = { 1,2,3,4 };
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	//init(arr,sz);
//	//print(arr, sz);
//	reverse(arr, sz);
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d",arr[i] );
//	}
//	
//
//
//	return 0;
//}
//创建一个整形数组，完成对数组的操作
//实现函数init() 初始化数组为全0
//实现print()  打印数组的每个元素
//实现reverse()  函数完成数组元素的逆置。
//要求：自己设计以上函数的参数，返回值。
//void MP(int *arr,int sz)
//{
//	int i = 0;
//	int flag = 0;
//	
//	for (i = 0; i < sz; i++)
//	{
//		int j = 0;
//		
//		for (j = 0; j < sz - i-1; j++)
//		{
//			if (*(arr+j) > *(arr + j+1))
//			{
//				int temp = *(arr + j + 1);
//				*(arr + j + 1) = *(arr+j);
//				*(arr+j) = temp;
//
//				flag = 1;
//			
//			}
//
//		}
//		if (flag == 0)
//			break;
//
//	}
//
//}
//int main()
//{
//	int arr[10] = { 0 };
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	for (i = 0; i < sz; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//
//	MP(arr, sz);
//
//
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	
//
//	return 0;
//}
////实现一个对整形数组的冒泡排序
//int  fun(int n)
//{
//	if (n < 3)
//		return 1;
//	else
//		return fun(n - 1) + fun(n - 2);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fun(n);
//	printf("%d", ret);
//		
//
//	return 0;
//}
//递归实现求第n个斐波那契数
//int fun(int n)
//{
//	int a = 1;
//	int b = 1;
//	int c = 1;
//	while (n > 2)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//
//		n--;
//	}
//	return c;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fun(n);
//	printf("%d", ret);
//
//
//
//
//	return 0;
//}
//非递归求第n个斐波那契数
//int fun(int n,int k)
//{
//	if (k == 0)
//		return 1;
//	else if (k == 1)
//		return n;
//	else
//		return n * fun(n, k - 1);
//
//
//}
//int main()
//{
//	int n = 0;
//	int k = 0;
//	scanf("%d %d", &n, &k);
//	int ret = fun(n, k);
//	printf("%d", ret);
//
//
//}
//编写一个函数实现n的k次方，使用递归实现。
//int DigitSum(int n)
//{
//	if (n < 10)
//		return n;
//	else
//		return (n % 10) + DigitSum(n / 10);
//
//
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = DigitSum(n);
//	printf("%d", ret);
//
//
//
//	return 0;
//}
//写一个递归函数DigitSum(n)，输入一个非负整数，返回组成它的数字之和
//例如，调用DigitSum(1729)，则应该返回1 + 7 + 2 + 9，它的和是19
//输入：1729，输出：19



